From 4df6da4aa01314f31ea87a951b5c5cd3d5ef9242 Mon Sep 17 00:00:00 2001 From: Brian Koropoff Date: Sun, 5 Oct 2014 15:59:58 -0700 Subject: [PATCH] Clean up some uses of `Option::map` only for its side effects --- src/cargo/core/resolver.rs | 6 +++--- src/cargo/lib.rs | 22 ++++++++++++---------- src/cargo/ops/cargo_generate_lockfile.rs | 8 ++++---- src/cargo/util/errors.rs | 4 +++- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/cargo/core/resolver.rs b/src/cargo/core/resolver.rs index 278fde481..2d4b4d174 100644 --- a/src/cargo/core/resolver.rs +++ b/src/cargo/core/resolver.rs @@ -97,9 +97,9 @@ pub struct EncodablePackageId { impl> Encodable for EncodablePackageId { fn encode(&self, s: &mut S) -> Result<(), E> { let mut out = format!("{} {}", self.name, self.version); - self.source.as_ref().map(|s| { - out.push_str(format!(" ({})", s.to_url()).as_slice()) - }); + if let Some(ref s) = self.source { + out.push_str(format!(" ({})", s.to_url()).as_slice()); + } out.encode(s) } } diff --git a/src/cargo/lib.rs b/src/cargo/lib.rs index 87a495aff..1ca101c91 100644 --- a/src/cargo/lib.rs +++ b/src/cargo/lib.rs @@ -3,6 +3,7 @@ #![feature(macro_rules, phase)] #![feature(default_type_params)] +#![feature(if_let)] #![deny(bad_style)] extern crate libc; @@ -143,12 +144,11 @@ pub fn process_executed<'a, shell: &mut MultiShell) { match result { Err(e) => handle_error(e, shell), - Ok(encodable) => { - encodable.map(|encodable| { - let encoded = json::encode(&encodable); - println!("{}", encoded); - }); + Ok(Some(encodable)) => { + let encoded = json::encode(&encodable); + println!("{}", encoded); } + _ => {} } } @@ -189,12 +189,12 @@ pub fn handle_error(err: CliError, shell: &mut MultiShell) { if unknown { let _ = shell.error(error.to_string()); } - error.detail().map(|detail| { + if let Some(detail) = error.detail() { let _ = shell.err().say(format!("{}", detail), BLACK); - }); - error.cause().map(|err| { + } + if let Some(err) = error.cause() { let _ = handle_cause(err, shell); - }); + } Ok(()) }); @@ -205,7 +205,9 @@ fn handle_cause(err: &CargoError, shell: &mut MultiShell) { let _ = shell.err().say("\nCaused by:", BLACK); let _ = shell.err().say(format!(" {}", err.description()), BLACK); - err.cause().map(|e| handle_cause(e, shell)); + if let Some(e) = err.cause() { + handle_cause(e, shell) + } } pub fn version() -> String { diff --git a/src/cargo/ops/cargo_generate_lockfile.rs b/src/cargo/ops/cargo_generate_lockfile.rs index f9cde510c..10095a69d 100644 --- a/src/cargo/ops/cargo_generate_lockfile.rs +++ b/src/cargo/ops/cargo_generate_lockfile.rs @@ -153,11 +153,11 @@ fn emit_package(dep: &toml::TomlTable, out: &mut String) { out.push_str(format!("name = {}\n", lookup(dep, "name")).as_slice()); out.push_str(format!("version = {}\n", lookup(dep, "version")).as_slice()); - dep.find(&"source".to_string()).map(|_| { + if dep.contains_key(&"source".to_string()) { out.push_str(format!("source = {}\n", lookup(dep, "source")).as_slice()); - }); + } - dep.find(&"dependencies".to_string()).map(|s| { + if let Some(ref s) = dep.find(&"dependencies".to_string()) { let slice = s.as_slice().unwrap(); if !slice.is_empty() { @@ -170,7 +170,7 @@ fn emit_package(dep: &toml::TomlTable, out: &mut String) { out.push_str("]\n"); } out.push_str("\n"); - }); + } } fn lookup<'a>(table: &'a toml::TomlTable, key: &str) -> &'a toml::Value { diff --git a/src/cargo/util/errors.rs b/src/cargo/util/errors.rs index 594ea8ad9..3653a491d 100644 --- a/src/cargo/util/errors.rs +++ b/src/cargo/util/errors.rs @@ -179,7 +179,9 @@ impl Show for ProcessError { None => "never executed".to_string() }; try!(write!(f, "{} (status={})", self.msg, exit)); - self.output().map(|out| { let _ = write!(f, "{}", out); }); + if let Some(out) = self.output() { + try!(write!(f, "{}", out)); + } Ok(()) } } -- 2.30.2